How Formal Dynamic Verification Tools Facilitate Novel Concurrency Visualizations
نویسندگان
چکیده
With the exploding scale of concurrency, presenting valuable pieces of information collected by formal methods tools intuitively and graphically can greatly enhance concurrent system debugging. Traditional MPI program debuggers present trace views of MPI program executions. Such views are redundant, often containing equivalent traces that permute independent MPI calls. In our ISP formal dynamic verifier for MPI programs, we present a collection of alternate views made possible by the use of formal dynamic verification. Some of ISP’s views help pinpoint errors, some facilitate discerning errors by eliminating redundancy, while others help understand the program better by displaying concurrent even orderings that must be respected by all MPI implementations, in the form of completes-before graphs. In this paper, we describe ISP’s GUI capabilities in all these areas which are currently supported by a portable Java based GUI, a Microsoft Visual Studio GUI, and an Eclipse based GUI whose development is in progress.
منابع مشابه
Build Dynamic Verifiers for Real Concurrency APIs, and Novel GUIs to Visualize Concurrency Nuances
Acknowledgements: This position statement covers joint work with the students of the Gauss research group, principally Sarvani Vakkalanka, Anh Vo, Sriram Aananthakrishnan, and Michael DeLisi. Discussions with faculty CoPI Robert M. Kirby are gratefully acknowledged. Summary: This paper is first a plea that formal methods researchers start studying and building support for the plethora of concur...
متن کاملAutomated Verification of Chapel Programs Using Model Checking and Symbolic Execution
Chapel is a new programming language targeting high performance computing. Chapel makes it easier to write parallel code, but is still subject to concurrency problems such as deadlocks, race conditions, and nondeterministic results. In theory, model checking and symbolic execution tools can help with these problems, but certain Chapel primitives are di cult to represent in the models used by ex...
متن کاملIntegrated and Automated Abstract Interpretation, Verification and Testing of C/C++ Modules
Starting from the perspective of safety-critical systems development in avionics, railways and the automotive domain, we advocate an integrated verification approach for C/C++ modules combining abstract interpretation, formal verification and conventional testing. It is illustrated how testing and formal verification can benefit from abstract interpretation results and, vice versa, how test aut...
متن کاملAutomated Extraction of Multi-Threaded Graph Models for Formal Verification of System Level Models
System level models are abstractions of hardware systems which should make it easier to apply capacity limited formal verification tools to validate them. However, due to the sequential nature of languages such as SystemC [1], extensive use of co-routine style threading for expressing concurrency, and oft-used mixed abstraction styles, make it hard to create abstractions suitable for formal ver...
متن کاملFormal Verification of Reconfigurable Cores
We show how a formal verification methodology can complement conventional verification for the development of FPGAbased cores. As FPGAs become larger, there is a greater reliance on shrink-wrapped intellectual property. In particular, customers expect rigorous verification of the cores that they purchase. We report on positive experience of using formal verification to facilitate the developmen...
متن کامل